/**
 * Licensed to JumpMind Inc under one or more contributor
 * license agreements.  See the NOTICE file distributed
 * with this work for additional information regarding
 * copyright ownership.  JumpMind Inc licenses this file
 * to you under the GNU General Public License, version 3.0 (GPLv3)
 * (the "License"); you may not use this file except in compliance
 * with the License.
 *
 * You should have received a copy of the GNU General Public License,
 * version 3.0 (GPLv3) along with this library; if not, see
 * <http://www.gnu.org/licenses/>.
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */
#ifndef SYM_STRING_UTILS_H
#define SYM_STRING_UTILS_H

#include <stdlib.h>
#include <string.h>
#include <ctype.h>
#include "util/StringBuilder.h"

char *SymStringUtils_trim(char *str);
char *SymStringUtils_ltrim(char *str);
char *SymStringUtils_rtrim(char *str);
char *SymStringUtils_toUpperCase(char *str);
char *SymStringUtils_toLowerCase(char *str);
unsigned short SymStringUtils_isBlank(char *str);
unsigned short SymStringUtils_isNotBlank(char *str);
char* SymStringUtils_format(char *format, ...);
unsigned short SymStringUtils_equals(char *str1, char *str2);
unsigned short SymStringUtils_equalsIgnoreCase(char *str1, char *str2);
char * SymStringUtils_substring(char *str, int startIndex, int endIndex);
char * SymStringUtils_replace(char *str, char *searchFor, char* replaceWith);
char * SymStringUtils_replaceWithLength(char *str, size_t length, char *searchFor, char* replaceWith);
void SymStringUtils_replaceChar(char *str, char oldChar, char newChar);
unsigned short SymStringUtils_startsWith(char *str, char *suffix);
unsigned short SymStringUtils_endsWith(char *str, char *suffix);
unsigned short SymStringUtils_isNumeric(char *str);

#endif
